草庐IT

c++ - 小数位数之和

全部标签

java - 在 C (JNI) 中结束 Java 线程

亲爱的多线程/Java/C/JNI大师们,我有一个稍微具体的问题。我有一个生成线程的Java程序。在run()方法中,调用C(通过JNI),首先在TLS中分配线程局部变量,然后进入event_loop(因此线程的默认生命周期由该循环决定).我现在的问题是,如果出现类似SIGSEGV的情况,如何能够关闭/终止线程。重要的是整个进程和其中的其他线程可以继续。这就是我们使用TLS分离线程的原因。(我知道,有些人不鼓励这样做,当然做防御性编程是正确的,试图提前避免这种崩溃。这段代码仅供迁移期间使用,因为我们正在从C转换到Java.但由于我们拥有的资源很少,这将需要一些时间。)classMyTh

java - C 性能和编译选项

我有两个类似的实现(java和c++),用于像选择排序这样的普通算法。publicinterfaceSortingAlgorithm{publicvoidsort(int[]a);}publicclassSelectionSortimplementsSortingAlgorithm{@Overridepublicvoidsort(int[]a){for(inti=0;i和c一个:inlinevoidswap(int*a,inti,intj);voids_sort(int*a,intsize){inti;for(i=0;i现在,我尝试在一个大数组(100000个随机整数)上测试它们。起初

java - 如何删除字符串值中的尾随零并删除小数点

这个问题在这里已经有了答案:Howtonicelyformatfloatingnumberstostringwithoutunnecessarydecimal0's(28个答案)关闭8年前。如果字符串在小数点后仅包含零,如何删除字符串值中的尾随零并删除小数点?我正在使用以下代码:Stringstring1=Double.valueOf(a).toString()这会删除(10.10和10.2270)中的尾随零,但我没有得到第一个和第二个输入的预期结果。输入10.010.0010.1010.2270预期输出101010.110.227

java - 正弦的多项式逼近中的这些系数是如何确定的?

背景:我正在用Java编写一些几何软件。我需要Java的BigDecimal类提供的精度。由于BigDecimal不支持三角函数,我想我应该看看Java如何实现标准数学库方法并编写我自己的支持BigDecimal的版本。阅读thisJavaDoc,我了解到Java使用的算法“来自著名的网络库netlib作为包”自由分发数学库”fdlibm。这些算法是用C编程语言编写的,然后可以理解为以所有float执行-遵循Java浮点运算规则的点运算。”我的问题:我查找了fblibm的sin函数,k_sin.c,看起来他们使用13阶泰勒级数来近似正弦(编辑-njuffa评论说fdlibm使用极小极大

java - 最佳实践 : Where to resample PCM and which tool?

我开发了一个内核模块(Android),它为我提供:PCM16-bit48000Hz2channel我想用java将其流式传输到Apple的机场快线(AEX)。AEX需要44.1kHzPCM,所以我必须重新采样PCM流。我有以下几种可能性,但哪种是最好的?1。使用C程序“raop_play”(raop-play的一部分)advantages:high-performantduetonativeCalreadyuseslibsampleratetoresamplewav,mp3,ogg,flac,aac,plsopensslasstaticlibraryusableviacommand-

java - Socket通信,Java客户端C服务器

我正在尝试通过Java客户端和C服务器的套接字进行通信如果我尝试在命令行上使用nc连接服务器,或者如果我使用nc作为服务器并连接我的Java客户端,一切似乎都工作正常,但是当我尝试连接Java客户端和C服务器时,它不起作用。客户端启动连接,并发送消息,消息被服务器接收,但服务器的响应永远不会到达客户端。服务器代码:#include#include#include#include#include#includeintmain(intargc,char*argv[]){intsockfd,clisockfd,portno;char*start="hello";char*end="bye";

java - 在恒定时间内找到均值和中位数

这是一个常见的面试问题。你有一连串的数字进来(比方说超过一百万)。数字在[0-999]之间)。ImplementaclasswhichsupportsthreemethodsinO(1)*insert(inti);*getMean();*getMedian();这是我的代码。publicclassFindAverage{privateint[]store;privatelongsize;privatelongtotal;privateinthighestIndex;privateintlowestIndex;publicFindAverage(){store=newint[1000];

java - 如何检查 double 是否最多有 n 位小数?

目前我有这个方法:staticbooleancheckDecimalPlaces(doubled,intdecimalPlaces){if(d==0)returntrue;doublemultiplier=Math.pow(10,decimalPlaces);doublecheck=d*multiplier;check=Math.round(check);check=check/multiplier;return(d==check);}但此方法对于checkDecmialPlaces(649632196443.4279,4)失败可能是因为我在基数2上进行基数10的数学计算。那么如何才能

java - 创建数字音频工作站

我正在尝试编写自己的DAW,主要是为了了解如何处理信号以获得效果的数学知识,但也是为了好玩。(一项相当大的任务,但我现在有时间)。我想让它像Propellerhead'sRecord这样工作尤其是在机架中。我在Mac上运行,所以我正在考虑为不同的部分使用音频单元,然后为脚手架部分使用核心音频。所以,整个事情将用C或Obj-C编写。但是,我以前没有使用过AudioUnits或Core-Audio,互联网对学习也没有任何帮助。有人知道我在哪里可以了解这些吗?还是Java(我觉得使用起来舒服的唯一其他语言)会更好,还是我在尝试找到“简单”的方法时完全错过了什么?谢谢,乔恩

java - 在 Java 应用程序中使用 C 源代码的最简单方法是什么?

我找到了这个我想在我的Java应用程序中使用的开源库。该库是用C编写的,是在Unix/Linux下开发的,我的应用程序将在Windows上运行。它是一个主要包含数学函数的库,据我所知,它没有使用任何依赖于平台的东西,它只是非常基本的C代码。而且,它也没有那么大,不到5,000行。在我的应用程序中使用该库的最简单方法是什么?我知道有JNI,但这涉及到找到一个编译器来在Windows下编译库、了解最新的JNI框架、编写代码等。可行,但并不那么容易。有没有更简单的方法?考虑到库的体积很小,我很想将它翻译成Java。有什么工具可以帮助解决这个问题吗?编辑我最终将库中我需要的部分翻译成了Java